package com.gzc.just.play.last.war.sceneserver.gameobject.unit;

/**
 * 游戏单位监听器接口
 * 
 * 用于监听GameUnit发生的各种事件
 * 
 * @author AI Assistant
 * @version 1.0.0
 * @since 2025-11-22
 */
public interface GameUnitListener {
    
    /**
     * 当单位受到伤害时
     */
    void onDamageTaken(GameUnit unit, int damage);
    
    /**
     * 当单位恢复生命值时
     */
    void onHealthRestored(GameUnit unit, int amount);
    
    /**
     * 当单位恢复魔力时
     */
    void onManaRestored(GameUnit unit, int amount);
    
    /**
     * 当单位死亡时
     */
    void onDead(GameUnit unit);
    
    /**
     * 当单位复活时
     */
    void onRevived(GameUnit unit);
    
    /**
     * 当单位移动时
     */
    void onMoved(GameUnit unit);
    
    /**
     * 当单位击杀敌方时
     */
    void onKillAchieved(GameUnit attacker, GameUnit victim);
}
